package com.shrct.businessprocess.customerservice;

import com.shrct.businessprocess.customerservice.RCFaultReportFaultType;
import com.shrct.businessprocess.customerservice.RCFaultReportServiceSummary;
import com.shrct.businessprocess.customerservice.RCFaultReportServiceType;
import com.shrct.businessprocess.customerservice.RCServiceContractDelegate;
import com.shrct.businessprocess.customerservice.RCServiceStatus;
import com.shrct.businessprocess.customerservice.impl.RCServiceRecordImpl;
import com.shrct.businessprocess.customerservice.proxy.RCServiceRecordProxy;
import com.shrct.businessprocess.organization.RCEmployee;
import com.shrct.businessprocess.organization.RCEnterprise;
import com.shrct.businessprocess.product.RCIdentifiablePhysicalProductEntry;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Collection;
import java.util.Date;

@EntityImplementation(implementBy = RCServiceRecordImpl.class)
public interface RCServiceRecord extends IModelObject {
  public abstract String getSid();
  
  public abstract RCServiceRecord setSid(final String sid);
  
  public abstract RCEnterprise getCustomer();
  
  public abstract RCServiceRecord setCustomer(final RCEnterprise customer);
  
  public abstract String getContractor();
  
  public abstract RCServiceRecord setContractor(final String contractor);
  
  public abstract String getContractorPhone();
  
  public abstract RCServiceRecord setContractorPhone(final String contractorPhone);
  
  public abstract String getLocation();
  
  public abstract RCServiceRecord setLocation(final String location);
  
  public abstract Collection<RCEmployee> getWorkers();
  
  public abstract RCServiceRecord addtoWorkers(final RCEmployee rCEmployee);
  
  public abstract RCServiceRecord setWorkers(final Iterable<RCEmployee> workers);
  
  public abstract RCServiceRecord removeFromWorkers(final RCEmployee rCEmployee);
  
  public abstract RCServiceRecord removeAllWorkers();
  
  public abstract String getWorkersPhone();
  
  public abstract RCServiceRecord setWorkersPhone(final String workersPhone);
  
  public abstract RCServiceContractDelegate getProject();
  
  public abstract RCServiceRecord setProject(final RCServiceContractDelegate project);
  
  public abstract RCIdentifiablePhysicalProductEntry getProduct();
  
  public abstract RCServiceRecord setProduct(final RCIdentifiablePhysicalProductEntry product);
  
  public abstract Date getArriveDate();
  
  public abstract RCServiceRecord setArriveDate(final Date arriveDate);
  
  public abstract Date getArriveTime();
  
  public abstract RCServiceRecord setArriveTime(final Date arriveTime);
  
  public abstract Date getLeaveDate();
  
  public abstract RCServiceRecord setLeaveDate(final Date leaveDate);
  
  public abstract Date getLeaveTime();
  
  public abstract RCServiceRecord setLeaveTime(final Date leaveTime);
  
  public abstract Collection<RCFaultReportServiceType> getServiceTypes();
  
  public abstract RCServiceRecord addtoServiceTypes(final RCFaultReportServiceType rCFaultReportServiceType);
  
  public abstract RCServiceRecord setServiceTypes(final Iterable<RCFaultReportServiceType> serviceTypes);
  
  public abstract RCServiceRecord removeFromServiceTypes(final RCFaultReportServiceType rCFaultReportServiceType);
  
  public abstract RCServiceRecord removeAllServiceTypes();
  
  public abstract String getServiceTypeComment();
  
  public abstract RCServiceRecord setServiceTypeComment(final String serviceTypeComment);
  
  public abstract Collection<RCFaultReportFaultType> getFaultTypes();
  
  public abstract RCServiceRecord addtoFaultTypes(final RCFaultReportFaultType rCFaultReportFaultType);
  
  public abstract RCServiceRecord setFaultTypes(final Iterable<RCFaultReportFaultType> faultTypes);
  
  public abstract RCServiceRecord removeFromFaultTypes(final RCFaultReportFaultType rCFaultReportFaultType);
  
  public abstract RCServiceRecord removeAllFaultTypes();
  
  public abstract String getFaultTypeComment();
  
  public abstract RCServiceRecord setFaultTypeComment(final String faultTypeComment);
  
  public abstract Collection<RCFaultReportServiceSummary> getFaultSummarys();
  
  public abstract RCServiceRecord addtoFaultSummarys(final RCFaultReportServiceSummary rCFaultReportServiceSummary);
  
  public abstract RCServiceRecord setFaultSummarys(final Iterable<RCFaultReportServiceSummary> faultSummarys);
  
  public abstract RCServiceRecord removeFromFaultSummarys(final RCFaultReportServiceSummary rCFaultReportServiceSummary);
  
  public abstract RCServiceRecord removeAllFaultSummarys();
  
  public abstract RCServiceStatus getStatus();
  
  public abstract RCServiceRecord setStatus(final RCServiceStatus status);
  
  public abstract String getRecommend();
  
  public abstract RCServiceRecord setRecommend(final String recommend);
  
  public abstract Integer getEvaluation();
  
  public abstract RCServiceRecord setEvaluation(final Integer evaluation);
  
  public abstract RCServiceRecordProxy toProxy();
}
